package Bls;

import Dao.LibroDaoLocal;
import Enumeracion.EstadoDetallePrestamo;
import Enumeracion.EstadoServicio;
import Modelo.Libro;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;

@Stateless
public class LibroBl implements LibroBlLocal {
    @EJB
    private LibroDaoLocal libroDao;
    
    @Override
    public EstadoServicio register(Libro book) {
        if(libroDao.findByClave(book)==null){
            libroDao.create(book);
           return EstadoServicio.COMPLETE;
        }else{ 
            return EstadoServicio.INCOMPLETE;
        }
    }

    @Override
    public EstadoServicio ModiFy(Libro book) {
        
        if(book.getId()==null||libroDao.find(book.getId())==null){
            return EstadoServicio.INCOMPLETE;
        }else{
        libroDao.edit(book);
           return EstadoServicio.COMPLETE;
    }
}

    @Override
    public EstadoServicio delete(Libro book) {
      if(book.getId()==null||libroDao.find(book.getId())==null){
            return EstadoServicio.INCOMPLETE;
        }else{
        libroDao.remove(book);
           return EstadoServicio.COMPLETE;
    }
    }

    @Override
    public List<Libro> getAll() {
        return libroDao.findAll();
    }

    @Override
    public Libro findById(Integer id) {
        return libroDao.find(id);
    }

    @Override
    public Libro findByClaveForLend(String clave) {
        Libro lbusqueda=new Libro();
        lbusqueda.setClave(clave);
        Libro l=libroDao.findByClave(lbusqueda);
        System.out.println("Hola amigo"+l);
        if(l!=null&&l.getEstado().equals(EstadoDetallePrestamo.RETURN.name())){
        return l;
        }
        return null;
    }
}